﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using nmConnectionDatabase;
using nmProductos;
using System.IO;
using nmFile;

namespace DarkPassenger
{
    public partial class MenuProductos_ModificarProducto : Form
    {

        ConexionDB Conexion;

        public MenuProductos_ModificarProducto()
        {
            InitializeComponent();
        }

        public MenuProductos_ModificarProducto(ConexionDB Conexion,DataGridViewRow ProdSeleccionado) :this()
        {
            this.Conexion = Conexion;
            txtTipoProducto.Text = ProdSeleccionado.Cells[0].Value.ToString();
            txtTipoProducto.ReadOnly = true;
            txtIDProducto.Text = ProdSeleccionado.Cells[1].Value.ToString();
            txtIDProducto.ReadOnly = true;
            txtNombre.Text = ProdSeleccionado.Cells[2].Value.ToString();
            txtDescripcion.Text = ProdSeleccionado.Cells[3].Value.ToString();
            txtFabricante.Text = ProdSeleccionado.Cells[4].Value.ToString();
            txtGenero.Text = ProdSeleccionado.Cells[5].Value.ToString();
            txtClasificacion.Text = ProdSeleccionado.Cells[6].Value.ToString();
            txtImagen.Text = ProdSeleccionado.Cells[7].Value.ToString();
            txtFechaSalida.Text = ProdSeleccionado.Cells[8].Value.ToString();
        }

        private void lblGuardar_Click(object sender, EventArgs e)
        {


            if (txtFechaSalida.Text.Trim() == "/  /")
            {
                Productos objProd = new Productos();
                objProd.SetPropiedades(Convert.ToChar(txtTipoProducto.Text), txtIDProducto.Text, txtNombre.Text, txtDescripcion.Text, txtFabricante.Text, txtGenero.Text, txtClasificacion.Text, txtFechaSalida.Text,cmbEstado.Text);
                objProd.ModificarProducto(Conexion.GetRutaConexion(), objProd);
                this.Close();
            }

            else if(txtFechaSalida.Text.Trim() != "" ) {

            DateTime Salida;

            if (DateTime.TryParse(txtFechaSalida.Text, out Salida))
            {
                Productos objProd = new Productos();
                objProd.SetPropiedades(Convert.ToChar(txtTipoProducto.Text), txtIDProducto.Text, txtNombre.Text, txtDescripcion.Text, txtFabricante.Text, txtGenero.Text, txtClasificacion.Text, txtFechaSalida.Text, cmbEstado.Text);
                objProd.ModificarProducto(Conexion.GetRutaConexion(), objProd);
                this.Close();
            }
            else
            {
                MessageBox.Show("Fecha Invalida");
            }

            }

        }

        private void txtImagen_Click(object sender, EventArgs e)
        {
            ContextMenuStrip cm = new ContextMenuStrip();
            cm.Items.Add("Agregar Nuevo");
            cm.Items.Add("Agregar Existente");
            cm.Items.Add("Borrar Link");

            var Posicion_Puntero = txtImagen.PointToClient(Cursor.Position);
            cm.Show(txtImagen, Posicion_Puntero);
            cm.ItemClicked += new ToolStripItemClickedEventHandler(cm_ItemClicked);
        }

        public void cm_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            myFile objFile = new myFile();



            if (e.ClickedItem.ToString() == "Agregar Existente")
            {
                objFile.AgregarExistente(ref txtImagen);

            }

            if (e.ClickedItem.ToString() == "Borrar Link")
            {
                objFile.BorrarImagen(ref txtImagen);
            }

            if (e.ClickedItem.ToString() == "Agregar Nuevo")
            {
                objFile.AgregarImagen(ref txtImagen);
            }

        }





    }
}
